#pragma once


#include "SkinableGUIButton.h"
#include "SkinDef.h"
// CSkinableGUIBitmapButton

namespace SkinableGUI
{
	class CSkinableGUIBitmapButton : public CSkinableGUIButton
	{
		DECLARE_DYNAMIC(CSkinableGUIBitmapButton)

	public:
		CSkinableGUIBitmapButton(SkinBitmapButton * pSkinBitmapButton);
		virtual ~CSkinableGUIBitmapButton();

	protected:
		DECLARE_MESSAGE_MAP()
	public:
		virtual void DrawItem(LPDRAWITEMSTRUCT /*lpDrawItemStruct*/);
	protected:
		virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	public:
		afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

	private:
		CSkinableGUIImage m_NormalImage, 
			m_DisableImage,
			m_FocusImage,
			m_SelectedImage,
			* m_pCurImage;

		CBitmap * m_pSavedBackground;
		CBitmap * m_pContent;

	public:
		afx_msg void OnTimer(UINT_PTR nIDEvent);
		afx_msg void OnSize(UINT nType, int cx, int cy);
		afx_msg void OnDestroy();
		afx_msg BOOL OnEraseBkgnd(CDC* pDC);
		afx_msg void OnPaint();
		afx_msg void OnBnSetfocus();
		afx_msg void OnBnKillfocus();
	};
}

